The present invention relates to a method of control and a corresponding control device for controlling the movement of numerically controlled machine tools, robots or the like (xe2x80x9cmachinesxe2x80x9d) having a speed control system with a speed controller clock arranged in a drive part, and a higher-level position control system, distributed between a control part and the drive part with values being preset as a reference variable by the control-side part of the position control system in a comparatively slower position control clock.
For a complex movement control having a plurality of drives, a central numerical control system (abbreviated hereafter as NC) is often used for coordinating the movement control and outputting setpoint values to autonomously operating drive control systems. Since the computations for the coordinated movement control are generally complex and have to take place for a plurality of axes, the computing time burden of the NC is usually greater than the computing time burden of the individual drive control systems. Therefore, the sampling clock (period) of the drive control system is smaller, and the computing clock (frequency) is generally significantly greater than that of the NC.
Nevertheless, the position controllers for each axis are often computed in the NC in order to process all the information for the coordination of the axis movements together, this relieving the drive of numerous additional tasks such as referencing. If the position controllers are relocated into the drives, although NC computing time is saved and a more even computing time distribution is obtained, the NC no longer has the complete control which is necessary for a coordinated movement.
European Patent EP 0844542 B1 describes a method in which the position controllers are meaningfully distributed between the NC and the drives, the control dynamics of the position controller being determined by a comparatively fast sampling clock of the individual drive. However, this method only has a simple fine interpolator and all the pre-control values are still processed in the comparatively slow position controller clock of the NC. The linear fine interpolator leads for example to torque fluctuations in the position controller clock of the NC, which has adverse effects on the mechanics. Were the pre-control to be in the drive clock, it would bring with an enormous increase in the path-following accuracy.
Conventional approaches with an arrangement of the position controller in the NC lead to low position controller dynamics and path-following accuracy. An alternative arrangement of the position controller in the drive, on the other hand, leads to increased functional range in the drive and an increased need for communication between the drive and NC. Furthermore, the increased functional range in the drive generally has the effect that the sampling clock of the drive must be increased, which is undesirable with regard to the control dynamics. Furthermore, the path-following accuracy is notably inferior with pre-control in the position controller clock.
The object of the present invention is therefore to achieve an increase in the path-following accuracy for the method of control and/or control devices, by permitting fine interpolation and pre-control to occur in the drive clock. This object is achieved according to the present invention by the above-stated method of control which it is further provided that for pre-control on the drive side a mathematical representation of the path in the position control clock is defined between the drive part and the control part to generate additional checkpoints of the path, the mathematical representation being twice differentiatable for achieving speed information and acceleration information for performing a fine interpolation in the speed controller clock.
A preferred embodiment of the method of control according to the present invention is where the mathematical representation of the path in the position control clock is realized by a polynomial function describing the path.
A further preferred embodiment is where the mathematical representation of the path in the position control clock is realized by a spline function describing the path.
Yet another preferred embodiment of the method of control according to the present invention is where the mathematical representation of the path in the position control clock is realized by coefficients of a polynomial function describing the path. And a further preferred embodiment is where the mathematical representation of the path in the position control clock is realized by coefficients of a spline function describing the path.
It has at the same time been found to be advantageous if setpoint speed values preset by the control-side part of the position control system serve on the drive side for determining a constant component of a setpoint position value polynomial, the variable component of which is determined on the drive side in the speed control clock as a fine position component on the basis of a desired axle speed, preset by a control-side path computation in the position control clock in each case. The average axle speed during the last position control clock, and is fed on the input side to the drive-side part of the position control system and serves for fine position interpolation.
To obtain the advantages of the method described in EP 0 844 542 B1, actual position values acquired in the position control clock for determining the constant component of the setpoint position value polynomial are fed back as the first controlled variable on the input side to the control-side part of the position control system. The difference from actual position values acquired in the speed control clock and actual position values acquired in the position control clock is additionally fed back as the second controlled variable on the input side to the drive-side part of the position control system. The logical combination of the output values of the two higher-level position control parts is supplied to the speed control system as setpoint speed values.
The advantages which are realized are the increased dynamics of a position control loop, without the computing effort required for this in the drive or on the part of the numerical control system being increased considerably; there continues to be a central awareness of all the states of the axes or groups of axes; the operations which are less important in terms of control technology continue to take place in the NC which is consequently not additionally burdened. Added to these is the fact that actual position values can be processed incrementally in a signal processor, whereby no other required floating-point numbers have to be processed. This brings with it a considerable gain in computing time.
In a preferred embodiment the drive-side part of the position control system is operated with the same proportional gain as the control-side part of the position control system. It is also preferred to determine the setpoint position value polynomial on the drive side from polynomial segments which are in each case valid for the duration of a position control clock, in particular as a spline function. Further, it is also preferred if the setpoint position value polynomial is determined on the drive side in such a way that the speed at the polynomial transitions is constant. With the fine position component of the setpoint position value polynomial, the setpoint position values in the drive then undergo fine interpolation in the speed controller clock.
If a polynomial of the third degree or higher is determined as the setpoint position value polynomial on the drive side, a speed pre-control can be achieved in the speed controller clock by differentiating the variable component of the setpoint position value polynomial for determining a speed pre-control value, which is fed on the input side to the speed control system. In this case it is recommended to adapt a control-side setpoint position value and the variable component of the setpoint position value polynomial dynamically by delaying them by a symmetrizing time.
If a polynomial of the third degree or higher is determined on the drive side as the setpoint position value polynomial, the variable component of which is differentiated twice, a torque pre-control in the drive clock can be additionally achieved by determining a torque pre-control value, on the basis of the value obtained and a moment of inertia of the drive, which is fed on the input side to a current control system arranged downstream of the speed control system. Here, too, a dynamic adaptation is recommended, namely, that the speed pre-control value be delayed by the symmetrizing time.
To allow the foregoing to be realized in a simple manner, a control device which is similarly suitable for achieving the object of the present invention is additionally provided, namely a control device for the movement control of numerically controlled machine tools, robots or the like having:
a drive-side speed controller with a speed controller clock;
a higher-level drive-side position controller with the speed controller clock; and
a similar higher-level control-side position controller with a comparatively slower position controller clock, which supplies values as a reference variable; which further has a pre-control on the drive-side with a mathematical representation of the path in the position control clock being defined between the drive part and the control part for generating additional checkpoints of the path; a derivative unit for differentiating the mathematical representation for achieving speed information and acceleration information; and an interpolation unit for performing a fine interpolation in the speed controller clock.
In a preferred embodiment of the control structure of the invention, a drive-side computing means is provided, which is preset with a desired axle speed and an average axle speed during the last position controller clock by a control-side path computation whereby the position controller clock determines a fine position component on the basis of this information in the speed controller clock and uses it to activate the drive-side position controller on the input side.
It has been found to be preferred if actual position values acquired in the position controller clock serve as an input-side controlled variable for the control-side part of the position control system. The difference from actual position values acquired in the speed controller clock and actual position values acquired in the position controller clock serves as an input-side controlled variable for the drive-side position controller, and the combination of the output values of the two higher-level position controllers is fed to the speed controller as setpoint speed values. In this case, it is recommended to operate the drive-side position controller with the same proportional gain as the control-side position controller.
In a further preferred configuration of the control device of the present invention, the computing means supplies the fine position component in the form of polynomial segments of a setpoint position value polynomial, in particular of the third degree or higher, which are, in each case, valid for the duration of a position controller clock. It has proven to be particularly preferred in this case if polynomial segments can be provided in such a way that the speed at the polynomial transitions is constant.
A pre-control of the speed in the speed controller clock is made possible by the computing means comprising the derivative unit which can be used to differentiate polynomial segments for the determination of a speed pre-control value, which is fed to the speed controller on the input side. It has been found to be preferred if a dynamic adaptation takes place by a means for symmetrizing setpoint position values which is arranged upstream of the control-side position controller and the drive-side computing means comprises a further means for symmetrizing the fine position component.
If differentiation is performed twice with the derivative unit as a means for the differentiation of polynomial segments it is possible, on the basis of the value obtained and a moment of inertia of the drive, to determine a torque pre-control value which can be fed on the input side to a current controller arranged downstream of the speed controller. A torque pre-control can be additionally achieved in the speed controller clock. Here, too, a dynamic adaptation is preferred, namely, that the drive-side means for symmetrizing also serves for the time delay of the speed pre-control value.